Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.

...powered by www.netzwerkartist.de...

 <<   zurück
Visual Basic 2005 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual Basic 2005

Visual Basic 2005
1.233 S., mit 2 CDs, 59,90 Euro
Galileo Computing
ISBN 3-89842-585-1
gp Kapitel 19 Weitere Steuerelemente
  gp 19.1 Bildlaufleisten mit »HScrollBar« und »VScrollBar«
  gp 19.2 Schieberegler mit der Klasse »TrackBar«
  gp 19.3 Das »ProgressBar«-Steuerelement
  gp 19.4 Drehfeld-Steuerelemente (»UpDown«-Steuerelemente)
    gp 19.4.1 Das »NumericUpDown«-Steuerelement
    gp 19.4.2 Das »DomainUpDown«-Steuerelement
  gp 19.5 Das »Timer«-Steuerelement
  gp 19.6 Die Klasse »ErrorProvider«
  gp 19.7 Steuerelemente für die Datums- und Zeitangabe
    gp 19.7.1 Das Steuerelement »MonthCalendar«
    gp 19.7.2 Das Steuerelement »DateTimePicker«
  gp 19.8 Das »Panel«-Steuerelement
  gp 19.9 Das Steuerelement »NotifyIcon«
  gp 19.10 Bildanzeige mit »PictureBox«
  gp 19.11 Eine Liste mit Symbolen mit »ImageList« bereitstellen
    gp 19.11.1 Die Eigenschaften der Klasse »ImageList«
    gp 19.11.2 Die Bildliste füllen
  gp 19.12 Registerkarten mit »TabControl«
    gp 19.12.1 Die Klasse »TabControl«
    gp 19.12.2 Objekte vom Typ »TabPage«
  gp 19.13 Das »TreeView«-Steuerelement
    gp 19.13.1 Knotenpunkte im »TreeView« definieren
    gp 19.13.2 Eigenschaften des »TreeView«-Steuerelements
    gp 19.13.3 Die Unterstützung der Entwicklungsumgebung
    gp 19.13.4 Die Ereignisse des »TreeView«-Steuerelements
    gp 19.13.5 Weitere Eigenschaften und Methoden des »TreeView«-Objekts
    gp 19.13.6 Eigenschaften und Methoden des »TreeNode«-Objekts
    gp 19.13.7 Beispiel zum Einlesen der Verzeichnisstruktur
  gp 19.14 Die beiden »Splitter«-Steuerelemente
    gp 19.14.1 Das Steuerelement »Splitter«
    gp 19.14.2 Das Steuerelement »SplitContainer«
  gp 19.15 Das »ListView«-Steuerelement
    gp 19.15.1 Die Klassen des »ListView«-Steuerelements
    gp 19.15.2 Die Eigenschaften der »ListView«
    gp 19.15.3 Listenelemente vom Typ »ListViewItem«
    gp 19.15.4 Das Element »ListViewSubItem«
    gp 19.15.5 Der Typ »ColumnHeader«
    gp 19.15.6 Listenelemente Gruppen zuordnen
    gp 19.15.7 Sortierung der Spalten
    gp 19.15.8 Listenelemente ändern


Galileo Computing

19.3 Das »ProgressBar«-Steuerelement  toptop

Manchmal führen Anwendungen einen länger dauernden Arbeitsprozess aus. Denken Sie nur an das Kopieren von Dateien, das Downloaden aus dem Internet und einfach an eine länger dauernde Rechenoperation – alles Vorgänge, die dem Anwender Geduld abverlangen, solange es sich nicht um ein multithreading-fähiges Programm handelt.

Ein Programm, das eine länger andauernde Aufgabe ausführt, sollte den Benutzer davon in Kenntnis setzen, damit dieser nicht denkt, die Anwendung reagiere nicht mehr. Man kann das dadurch erreichen, dass man für die Dauer der Ausführung den Mauszeiger als Sanduhr darstellt. Dazu muss man die Eigenschaft Cursor der Form vor dem Auftreten der Operation auf


Me.Cursor = Cursors.WaitCursor

einstellen. Nach der Beendigung darf nicht vergessen werden, das ursprüngliche Cursorsymbol wieder herzustellen (meistens dürfte es sich um die Einstellung Cursors.Default handeln).

Das ist ein zwar ein Mittel, um auf die Hintergrundtätigkeit der Anwendung aufmerksam zu machen. Wie lange diese andauern wird, kann der Anwender jedoch nicht im Geringsten abschätzen. Jetzt schlägt die Stunde des ProgressBar-Steuerelements, das dem Anwender über einen Fortschrittsbalken den Stand der Operation optisch vermittelt.

Die Programmierung dieses Steuerelements ist denkbar einfach und erinnert an die beiden zuvor behandelten Steuerelemente. Zur Entwicklungszeit legen Sie die Eigenschaften Maximum und Minimum fest, zur Laufzeit ermitteln Sie aus dem aktuellen Stand der Operation den Wert der Eigenschaft Value.

Sie können Value direkt einen Wert zuweisen, Sie können aber auch die Methode PerformStep aufrufen:


Public Sub PerformStep()

Jeder Aufruf bewirkt die Erhöhung der aktuellen Position der Statusanzeige. Dabei wird in Schrittweiten vorgegangen, die von der Eigenschaft Step vorgegeben wird.

Neu in .NET Framework 2.0 ist die Ergänzung der Eigenschaften Style und MarqueeAnimationSpeed. Mit der erstgenannten können Sie den Anzeigestil des Fortschrittsbalkens festlegen. Dazu gibt es drei Einstellmöglichkeiten, die Sie der folgenden Tabelle entnehmen können.


Tabelle 19.4     Die Mitglieder der Enumeration »ProgressBarStyle«

ProgressBarStyle-Member Beschreibung
Blocks Zeigt im Steuerelement eine steigende Anzahl unterteilter Blöcke an.
Continuous Zeigt im Steuerelement einen durchgehenden Balken an.
Marquee Zeigt im Steuerelement Blöcke an, die wie eine Laufschrift den Anzeigebereich durchlaufen.

Lautet die Einstellung ProgressBarStyle.Marquee, entscheidet die Eigenschaft Marquee- AnimationSpeed darüber, wie schnell die Laufbalken durch den Anzeigebereich laufen. Die Angabe ist in Millisekunden. Allerdings wird dieser Stil nur von Windows XP und Windows 2003 unterstützt.

Ein Beispielprogramm

Im folgenden Beispielprogramm wird eine Datei geöffnet und deren Inhalt in einer Textbox ausgegeben. Da der Ladevorgang eine längere Zeit in Anspruch nimmt, wird der Ladestatus in einem ProgressBar-Steuerelement angezeigt (siehe Abbildung 19.3).

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 19.3     Die Form des Beispielprogramms »ProgressBarDemo«

Zu Demonstrationszwecken wird die Datei im Load-Ereignishandler der Form erzeugt. Dabei werden 20000 Zeichen in die Datei geschrieben, in einer Schleife jeweils immer die Zeichen des Alphabets.


' ----------------------------------------------------------
' Beispiel: ...\Kapitel 19\ProgressBarDemo
' ----------------------------------------------------------
Imports System.IO
Public Class Form1
Private myfile As String = "C:\Test.txt"
Private Sub Form1_Load(...) Handles MyBase.Load
' Datei erzeugen und mit Zeichen füllen
Dim fs As FileStream = File.Open(myfile, FileMode.Create)
Dim b As Byte = 97
For i As Integer = 0 To 20000
b = b + 1
fs.WriteByte(b)
If b = 123 Then
b = 97
End If
Next
fs.Close()
End Sub
Private Sub Button1_Click(...) Handles Button1.Click
Me.Cursor = Cursors.WaitCursor
Dim var As Integer = 0
Dim text As String = ""
TextBox1.Clear()
TextBox1.Refresh()
Dim fi As FileInfo = New FileInfo(myfile)
' ProgressBar-Maximum auf Dateigröße einstellen
proFuellen.Maximum = fi.Length
' Schrittweite einstellen
proFuellen.Step = 1
' Datei öffnen
Dim fs As FileStream = File.Open(myfile, FileMode.Open)
Do While (True)
var = fs.ReadByte()
' wenn Datei eingelesen, Schleife beenden
If (var = –1) Then
Exit Do
End If
text &= Convert.ToChar(var)
' Fortschrittsbalken einstellen
proFuellen.PerformStep()
Loop
TextBox1.Text = text
fs.Close()
proFuellen.Value = 0
Me.Cursor = Cursors.Default
End Sub
Private Sub Form1_FormClosed(...) Handles MyBase.FormClosed
File.Delete(myfile)
End Sub
End Class

Im Ereignishandler des Click-Ereignisses der Schaltfläche wird nach einigen Vorarbeiten die Größe der einzulesenden Datei ermittelt, um die Eigenschaft Maximum des ProgressBar-Steuerelements einzustellen. Dafür eignet sich ein Objekt von Typ FileInfo, dessen Eigenschaft Length ausgewertet wird. Als Schrittweite des Fortschrittsbalkens wird der Wert 1 festgelegt.

Für das Öffnen der Datei bietet sich ein Objekt vom Typ FileStream an, weil in einer Schleife die Datei byteweise mit ReadByte eingelesen werden kann und sich damit auch ein Ansatzpunkt anbietet, den Fortschrittsbalken zu aktualisieren. Sind alle Daten eingelesen, wird die Schleife beendet und der Inhalt der Datei, der sich in der Variablen text angesammelt hat, in der Textbox angezeigt. Zum Schluss muss noch der FileStream geschlossen und das ProgressBar-Steuerelement in seine Ursprungsposition zurückgesetzt werden. Während der Ereignishandler ausgeführt wird, zeigt der Mauscursor eine Sanduhr an.

Beim Schließen der Form wird zum Schluss auch noch die erstellte Datei gelöscht.

 <<   zurück
  
  Zum Katalog
Zum Katalog: Visual Basic 2005
Visual Basic 2005
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual C# 2005






 Visual C# 2005


Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2005






 Fortgeschrittene
 Programmierung
 mit Visual C# 2005


Zum Katalog: Das Programmierhandbuch SQL Server 2005






 Das Programmier-
 handbuch
 SQL Server 2005


Zum Katalog: Einstieg in Visual Basic 2005






 Einstieg in
 Visual Basic 2005


Zum Katalog: Einstieg in Visual C# 2005






 Einstieg in
 Visual C# 2005


Zum Katalog: Konzepte und Lösungen für Microsoft-Netzwerke






 Konzepte und
 Lösungen für
 Microsoft-Netzwerke


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de